#ifndef GBBUTTON_H
#define GBBUTTON_H

#include "GBWidget.h"
#include "GBLabel.h"

class GBButton : public GBWidget
{
private:
	vec2 m_size;	// This is used for it's collision volume and the actual size of the quad (from the center)
	GBLabel m_label;

public:
	GBButton();
	~GBButton();

	void Update(const float fTimeStep);
	void Render();

	void Copy(const GBWidget* pRef);

	void SetLabel(GBLabel label) { m_label = label; }

	// Default is autosize... if you do set your own size be warned that collision volumes could be off
	void SetSize(vec2 size) { m_size = size; }

	GBLabel& GetLabel() { return m_label; }
	const GBLabel& GetLabel() const { return m_label; }
	vec2 GetSize() { return m_size; }

	WidgetType Type() const { return WIDGET_TYPE_BUTTON; }
};

#endif